The present invention relates generally to a method and system for accurately modeling a disc drive""s servo torque constant. More particularly, the present invention relates to a method and system for accurately modeling the servo torque constant of a disc drive by filtering its force constant table to more accurately model the servo torque.
Disc drives of the type referred to as xe2x80x9cWinchesterxe2x80x9d disc drives are well known in the industry. Such disc drives incorporate a xe2x80x9cstackxe2x80x9d of one or more disc-shaped platters mounted on a spindle motor for constant high speed rotation. The surface of these discs is coated with a magnetizable medium for the recording of digital data in a plurality of circular, concentric data tracks.
A number of read/write heads act in cooperation with the disc surfaces for the recording and retrieval of data. These heads are attached to an actuator mechanism which operates under the control of electronic circuitry to controllably move the heads from track to track.
Over the years, the market has demanded disc drives of greater capacity and faster access capability than could be achieved using stepper motors to drive the actuator. This lead to the increasing prevalence of the use of voice coil motors to drive the actuator. Early linear voice coil motors, which drove the read/write heads on a straight radial line across the disc surface, have currently been largely superceded by rotary voice coil actuators, because of their compact size and reduced moving mass, thus permitting smaller disc drive packages with faster access speeds.
A typical rotary voice coil actuator, also sometimes referred to as a voice coil motor or VCM, consists of an arrangement of permanent magnets fixed relative to the housing of the disc drive, and a coil (or coils) mounted on the movable portion of the actuator within the magnetic field of the permanent magnets. When controlled current is applied to the coil, a magnetic field is generated surrounding the coil which interacts with the magnetic field of the permanent magnets to force movement of the coil and actuator body on which the coil is mounted. The amount of force generated by this magnetic interaction (and thus the torque capability of the motor) is dependent on many factors including the strength of the permanent magnets, the size and number of turns in the coil, the amount of current applied to the coil, and the proximity of the coil to the magnets. Advances in materials science, manufacturing technology and electronic controls have lead to the current generation of disc drives which use rotary voice coil actuators to provide capacities of several hundred megabytes with average access times of less than fifteen milliseconds.
A high volume disc drive manufacturer can expect to build several hundred thousand, or even several million, of the same disc drives over the life of the product. It is therefore impossible, without economically prohibitive controls, to produce perfectly uniform magnets for use in these products, and magnet strength, of necessity, can therefore be expected to vary from unit to unit by as much as +10%. Similarly, the magnetic strength within a given magnet is not absolutely uniform and will therefore cause the strength of magnetic interaction between the permanent magnets and the magnetic field of the moving coil of a voice coil actuator to vary dependent upon the relative position of the coil to the magnets.
In addition, the flux lines between the upper and lower servo magnets are not constant with imperfect magnets. This causes the actual servo torque to vary as the coil moves between the magnets. The servo torque constant is a scaler that represents the torque output (ounce-inches) per current input (amps) in a servo control system. In addition, the flux lines tend to bend outward around the edges of the magnets so that the density of the field is smaller in those areas. Thus, the servo torque per unit decreases as the coil moves toward the magnet edges. A higher loop gain is needed at locations where the torque is lower and a lower loop gain is needed where the torque is higher.
In order to have consistent seek times and loop bandwidths across the media surface of a hard disc drive, it is necessary to have an accurate model of the torque constant. Because of the factors described above, i.e., variations in flux lines and imperfect magnets, it is necessary to obtain an accurate model of the servo torque versus servo position. This is currently done in the manufacturing process through an interactive method at a discrete set of locations, i.e., zones, on the disc and is stored in a non-volatile location on the drive. The result is a table of gains versus position, where the gain is inversely proportional to the actuator torque. The table is commonly referred to as the ZTAB table. FIG. 1 is a plot of a typical ZTAB table after factory calibration.
The table is then used in the equation FCON2=FCONHI* (1+ZTAB(current_zone)) to compute the loop gain. FCONHI is the variable that is adapted based on position error during a seek, and FCON2 is the error, or loop, gain. If the ZTAB table has the correct values for modeling the torque of the servo, FCONHI will ideally adapt to the same value at any location on the disc. Therefore, it is desired to have an ZTAB table that accurately models the torque curve of the actuator system.
As mentioned above, the ZTAB is currently calibrated in a factory process. This table is a set of values that represent the inverse of the actuator torque at a set number of zones. A zone is preferably 256 tracks wide, although other parameters may be used and each zone has a corresponding ZTAB value for the torque. Zone numbering begins at the outer diameter of the disc and moves inward. The calibration process entails starting at the outer diameter of the disc, calibrating the gain for zone zero, and then seeking to and calibrating each even numbered ZTAB zone until the inner diameter of the disc is reached. The odd numbered zones are then calibrated in decreasing order while moving to the outer diameter. The resulting table tends to be noisy due to bearing bias hysterisis and other nonlinearities as can be seen from FIG. 1 where zones of the disc are plotted along the horizontal axis and gain is plotted along the vertical axis. This jaggedness results in inaccurate torque modeling and loop gain variation as the disc is traversed. Therefore, a method is needed to smooth the table before it is stored in drive memory for end user benefit. Accordingly, there is a continual need for improvements in the art whereby the servo torque can be accurately modeled and loop gain calculated.
The present invention provides a solution to the above and other problems and offers the above and other advantages over the prior art.
According to a first aspect of the invention there is provided a method of filtering an unfiltered servo torque table of a disc drive wherein the servo torque table plots a gain of the servo versus a position of the servo wherein the gain of the servo is inversely proportional to its torque. The method includes the steps of adding a plurality of data points to a beginning and an end of the unfiltered servo torque table, shifting every data point of the unfiltered table by a value, and filtering the shifted unfiltered table.
According to a second aspect of the invention there is provided a computer program embodied on a computer readable medium for filtering an unfiltered servo torque table of a disc drive. The computer program includes a code segment that adds a plurality of data points to a beginning and end of the unfiltered servo table, a code segment that shifts every data point of the unfiltered servo torque table by a value, and a code segment that filters the shifted unfiltered servo torque table.
According to a third aspect of the invention, there is provided a system for filtering an unfiltered servo torque table of a disc drive. The system includes an adder that adds a plurality of data points to a beginning and end of the unfiltered servo table, a shifter that shifts every data point of the unfiltered servo torque table by a value, and a filter that filters the shifted unfiltered servo torque table.